package com.gpframework.module.module.domain.req;

import com.gpframework.common.utils.DateUtils;
import com.gpframework.module.base.domain.req.BaseReq;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @ClassName BrandStoreReq
 * @Author gpframework
 * @Date 2022-03-25
 * @Version 1.0.0
 * @Description 列表查询信息体
 */
@Data
@ToString
@EqualsAndHashCode
//@NoArgsConstructor
@Accessors(chain = true)
public class BrandStoreHomeReq extends BaseReq {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("门店id")
    private Long storeId;
    @ApiModelProperty("品牌id")
    private Long brandId;
    @ApiModelProperty("在场用户类型: 1办卡会员 2私教会员 3体验者")
    private String entranceUserType;
    @ApiModelProperty("到期天数")
    private Integer expireDays;
    @ApiModelProperty("生日月份")
    private String birthdayMonth;
    @ApiModelProperty("课程剩余节数")
    private Integer courseNum;
    @ApiModelProperty("未入场天数")
    private Integer notEntranceDays;
    @ApiModelProperty("客流总数统计天数")
    private Integer passengerFlowDays;

    // 首页业绩排行榜使用
    @ApiModelProperty("榜单类型：1教练 2会籍 3会员")
    private String leaderboardType;
    @ApiModelProperty("榜单统计天数")
    private Integer leaderboardDays;

    @ApiModelProperty("搜索开始时间")
    private Date searchStartTime;
    @ApiModelProperty("搜索结束时间")
    private Date searchEndTime;
    /**
     * 微信类型
     */
    @ApiModelProperty("微信类型")
    private String wxType;

    /**
     * 员工类型
     */
    @ApiModelProperty("员工类型")
    private String employeesType;

    public BrandStoreHomeReq() {
        this.expireDays = 60; // 到期天数默认60天
        this.birthdayMonth = DateUtils.dateTimeNow("MM");  // 生日月份默认本月
        this.courseNum = 2;  // 课程剩余节数默认2节
        this.notEntranceDays = 25;  // 未入场天数默认25天
        this.passengerFlowDays = 365;  // 客流总数统计天数默认1年（365天）

        this.leaderboardDays = 30;  // 榜单统计天数默认30天
    }
}
